package fr.afcepf.ai85.ent;

// Generated 21 mars 2013 17:20:56 by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Facture generated by hbm2java
 */
@Entity
@Table(name = "facture", catalog = "gepeto_db")
public class Facture implements java.io.Serializable {

	private Integer idFacture;
	private InscriptionPeriscolaire inscriptionPeriscolaire;
	private Date dateLimitePaiement;
	private Date dateFacture;
	private Date dateReglement;
	private Double montantGobal;
	private Date dateEnvoiFact;

	public Facture() {
	}

	public Facture(InscriptionPeriscolaire inscriptionPeriscolaire,
			Date dateLimitePaiement, Date dateFacture) {
		this.inscriptionPeriscolaire = inscriptionPeriscolaire;
		this.dateLimitePaiement = dateLimitePaiement;
		this.dateFacture = dateFacture;
	}

	public Facture(InscriptionPeriscolaire inscriptionPeriscolaire,
			Date dateLimitePaiement, Date dateFacture, Date dateReglement,
			Double montantGobal, Date dateEnvoiFact) {
		this.inscriptionPeriscolaire = inscriptionPeriscolaire;
		this.dateLimitePaiement = dateLimitePaiement;
		this.dateFacture = dateFacture;
		this.dateReglement = dateReglement;
		this.montantGobal = montantGobal;
		this.dateEnvoiFact = dateEnvoiFact;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_FACTURE", unique = true, nullable = false)
	public Integer getIdFacture() {
		return this.idFacture;
	}

	public void setIdFacture(Integer idFacture) {
		this.idFacture = idFacture;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_INSCRIPTION", nullable = false)
	public InscriptionPeriscolaire getInscriptionPeriscolaire() {
		return this.inscriptionPeriscolaire;
	}

	public void setInscriptionPeriscolaire(
			InscriptionPeriscolaire inscriptionPeriscolaire) {
		this.inscriptionPeriscolaire = inscriptionPeriscolaire;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATE_LIMITE_PAIEMENT", nullable = false, length = 10)
	public Date getDateLimitePaiement() {
		return this.dateLimitePaiement;
	}

	public void setDateLimitePaiement(Date dateLimitePaiement) {
		this.dateLimitePaiement = dateLimitePaiement;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATE_FACTURE", nullable = false, length = 10)
	public Date getDateFacture() {
		return this.dateFacture;
	}

	public void setDateFacture(Date dateFacture) {
		this.dateFacture = dateFacture;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATE_REGLEMENT", length = 10)
	public Date getDateReglement() {
		return this.dateReglement;
	}

	public void setDateReglement(Date dateReglement) {
		this.dateReglement = dateReglement;
	}

	@Column(name = "MONTANT_GOBAL", precision = 8, scale = 0)
	public Double getMontantGobal() {
		return this.montantGobal;
	}

	public void setMontantGobal(Double montantGobal) {
		this.montantGobal = montantGobal;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATE_ENVOI_FACT", length = 10)
	public Date getDateEnvoiFact() {
		return this.dateEnvoiFact;
	}

	public void setDateEnvoiFact(Date dateEnvoiFact) {
		this.dateEnvoiFact = dateEnvoiFact;
	}

}
